export function dump(node, indent = 0) {
  /* 节点的类型 */
  const type = node.type;
  /**
   * 节点的描述：
   * 如果节点是Root根节点，则没有描述
   * 如果节点是Element元素节点，则使用node.tag作为描述
   * 如果节点是Text文本节点，则使用node.content作为描述
   *  */
  const desc =
    type === "Root" ? "" : type === "Element" ? node.tag : node.content;

  /* 打印节点的类型和描述信息 */
  console.log(`${"-".repeat(indent)}${type}：${desc}`);

  /* 递归地打印子节点 */
  if (node.children && node.children.length) {
    for (let index = 0; index < node.children.length; index++) {
      const child = node.children[index];
      dump(child, indent + 2);
    }
  }
}
